package com.spvs.approval.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.spvs.approval.domain.ApprovalFromEntity;
import com.spvs.approval.domain.vo.ApprovalFromVo;
import com.spvs.approval.domain.vo.ApprovalSubmitVo;
import com.spvs.common.core.web.domain.AjaxResult;


import java.util.Map;

/**
 * 审批分类信息表
 */
public interface ApprovalFromService extends IService<ApprovalFromEntity> {



    /**
     * 发起审批
     * @param
     * @return
     */
     AjaxResult initiateApproval(ApprovalFromVo fromVo);

    /**
     * 修改审批表单
     * @param approvalFromVo
     * @return
     */
     AjaxResult updateApproval(ApprovalFromVo approvalFromVo);

    /**
     * 删除审批信息
     * @param approvalFromVo
     * @return
     */
     AjaxResult deleteApproval(ApprovalFromVo approvalFromVo);

    /**
     * 审批
     * @param aApprovalSubmitVo
     * @return
     */
     AjaxResult approval(ApprovalSubmitVo aApprovalSubmitVo);

    /**
     * 查看审批记录
     * @param id
     * @return
     */
     AjaxResult queryByRecords(Integer id);

    /**
     * 按条件查询自己创建的审批信息
     * @param param
     * @return
     */
     AjaxResult  queryApprovalByLaunch(Map<String,Object> param);

    /**
     * 按条件查询 审批人是自己的审批信息
     * @param param
     * @return
     */
     AjaxResult  queryApprovalBy(Map<String,Object> param);

    ApprovalFromEntity queryFromById(Integer id);
}

